Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
larvitutils
Advanced tools
Misc utilities
The library takes one parameter as option, "log". It is designed to take an instance of winston, but more exactly it should be an object with the methods "silly", "debug", "verbose", "info", "warn" and "error". An example of this can be found in the VERY simplified logging utility built in to this library. See documentation below.
Example of loading the library with no configured logger (using the default):
const lUtils = new (require('larvitutils'))();
Example of loading the library with an instance of winston as logger:
const winston = require('winston');
const log = winston.createLogger({'transports':[new winston.transprots.Console()]});
const lUtils = new (require('larvitutils'))({log: log});
const lUtils = new (require('larvitutils'))();
await lUtils.setTimeout(1000);
console.log('1000ms later');
const lUtils = new (require('larvitutils'))();
const uuid = lUtils.formatUuid(new Buffer('f9684592b24542fa88c69f16b9236ac3', 'hex'));
console.log(uuid); // f9684592-b245-42fa-88c6-9f16b9236ac3
Example usecase: fetch a binary column from a database and convert to a readable Uuid string
const lUtils = new (require('larvitutils'))();
const uuid = lUtils.formatUuid(' f9684592b24542fa88c69f16b9236ac3'); // Notice the starting space getting trimmed away
console.log(uuid); // f9684592-b245-42fa-88c6-9f16b9236ac3
Used to convert hrtime() calls to milliseconds, since hrtime() output is messy (seconrds + nanoseconrds)
Usage:
const lUtils = new (require('larvitutils'))();
const startTime = process.hrtime();
setTimeout(function() {
console.log('benchmark took %d ms', lUtils.hrtimeToMs(startTime, 4));
// benchmark took 34.0005 ms
}, 34);
const lUtils = new (require('larvitutils'))();
const uuidStr = 'f9684592-b245-42fa-88c6-9f16b9236ac3';
lUtils.uuidToBuffer(uuidStr); // Will return a buffer or false on failure
const lUtils = new (require('larvitutils'))();
const str = 'f9684592-b245-42fa-88c6-9f16b9236ac3';
lUtils.replaceAll('-', '_', str); // f9684592_b245_42fa_88c6_9f16b9236ac3
const lUtils = new (require('larvitutils'))();
const validUuid = 'f9684592-b245-42fa-88c6-9f16b9236ac3';
const invalidUuid1 = false;
const invalidUuid2 = 'foobar';
const invalidUuid3 = {höhö: 'oveboll'};
lUtils.formatUuid(validUuid); // true
lUtils.formatUuid(invalidUuid1); // false
lUtils.formatUuid(invalidUuid2); // false
lUtils.formatUuid(invalidUuid3); // false
const lUtils = new (require('larvitutils'))();
lUtils.isInt(10); // true
lUtils.isInt(10.0); // true
lUtils.isInt(10.5); // false
lUtils.isInt('oveboll'); // false
This is ment as a very simple replacement for winston
const lUtils = new (require('larvitutils'))();
const log = new lUtils.Log();
log.info('Hello'); // prints to stdout "2018-08-08T20:02:34Z [inf] Hello
log.error('Hello'); // prints to stderr "2018-08-08T20:02:48Z [err] Hello
By default only info, warn and error are printed to screen. Set minimum level by string, like this:
const lUtils = new (require('larvitutils'))();
const log = new lUtils.Log('debug');
log.debug('Hello'); // prints to stdout "2018-08-08T20:02:34Z [deb] Debug
Or disable output entirely
const lUtils = new (require('larvitutils'))();
const log = new lUtils.Log('none');
log.error('Hello'); // prints nothing
The default log level can be changed by setting environment variable NODE_LOG_LVL
All logging methods: silly, debug, verbose, info, warn and error.
FAQs
Misc utils
We found that larvitutils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.